#func1装饰器函数，起到了增加功能的作用
#func2被装饰的函数

def func1(f):# f是接收过来的函数名，即要对它进行装饰
	def add_func(): #这里起任何名字都可以
		print('装饰器中添加的功能');
		return f();# 这里在调用传进来的函数，即func2
	return add_func
	
@func1   #表示func1将接收func2作为参数传入
def func2():
	print('原有功能');
	return(222);

def func3():
	print('我是个普通函数');	

print(func2())
#执行流程分析
# 1. func1(func2) 得到 add_func
# 2. add_func()

func3();#普通的函数调用